package com.hualude.roadsign.service;

import com.hualude.roadsign.dto.CoverFaultDto;
import com.hualude.roadsign.dto.DTRequestDto;
import com.hualude.roadsign.dto.DTResponseDto;

import java.util.List;

/**
 * Created by pjn on 2017/7/22.
 */
public interface CoverFaultService {
    /**
     * @Description: 获取窨井datatable
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public DTResponseDto getCoverReportFault4DT(DTRequestDto dtRequestDto, Integer actorId, Integer userId, Integer orgId) throws Exception;

    /**
     * @Description: 窨井详情
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public CoverFaultDto getCoverInfo2Fault(Integer coverId) throws Exception;

    /**
     * @Description: 窨井故障详情
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public CoverFaultDto getCoverFaultInfo2Fault(Integer coverId, Integer coverFaultId) throws Exception;

    /**
     * @Description: 更新故障
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public Integer updateCoverFault(Integer coverFaultId, Integer coverFaultLevel, Integer coverFaultType, String coverFaultPhoto, String coverFaultReason, Double coverMoney) throws Exception;

    /**
     * @Description: 删除窨井故障
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public Integer deleteCoverFaultByIds(String coverFaultIds) throws Exception;

    /**
     * @Description: 获取窨井坐标4地图上报
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public List<CoverFaultDto> getCoverCoordinate4Map(Integer orgId, Integer actorId) throws Exception;

    /**
     * @Description: 根据窨井坐标获取信息
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public List<CoverFaultDto> getCoverByXY(String longitude, String latitude) throws Exception;

    /**
     * @Description: 窨井DT4故障上报
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public DTResponseDto getCoverFaultReport4DT(DTRequestDto dtRequestDto, Integer actorId, Integer orgId, String coverRoadName, String coverStartRoad, String coverEndRoad) throws Exception;


    /**
     * @Description: 判断是否窨井可上报：1可以，0不行
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public Integer getCoverFaultIsReport(Integer coverId) throws Exception;

    /**
     * @Description: 故障上报
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public Integer reportCoverFault(Integer coverId, Integer coverFaultCreatorId, Integer coverFaultLevel, Integer coverFaultType,
                                      String coverFaultPhoto, String coverFaultReason, Double coverMoney, Integer coverOrgId, Integer coverMainOrgId) throws Exception;

    /**
     * @Description: 获取第一个路名
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public List<String> getStartRoad(String roadName, Integer actorId, Integer orgId) throws Exception;

    /**
     * @Description: 根据第一个获取第二个路名
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public List<String> getSectionByStartRoad(String roadName, Integer actorId, Integer orgId) throws Exception;

    /**
     * @Description: 获取上报list
     * @Author: jiang-weirong
     * @Date: 2017/7/25 14:04
     */
    public List<CoverFaultDto> getCoverFaultList4App(Integer orgId, String actorIds, Integer faultStatus, Integer count, Integer size) throws Exception;

}
